package com.example.sample.activity;

import android.os.Bundle;
import android.view.View;

import com.example.app.BaseActivity;
import com.example.sample.R;

/**
 * 结论1：指定了亲和性及allowTaskReparenting标记的活动和一般的Activity一样，不同点在当亲和性指定的包名对应的app从launch点击时，这个活动会直接被转移到这个app的task上
 * 所以点击后直接看到这个Activity。
 *
 * 结论2：和taskAffinity配合的属性有三个：allowTaskReparenting、singleTask、newTask
 *
 * 结论3：指定其他taskAffinity时，singleTask和newTask是有区别：singleTask还是会把上层的Activity清除，而newTask则不会。
 *
 * 结论4：FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP和singleTask不是等价的，因为配了这俩flag之后taskAffinity无效
 */
public class LaunchModeActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launch_mode);

        findViewById(R.id.jump1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LaunchModeActivity1.start(v.getContext());
            }
        });

        findViewById(R.id.jump2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LaunchModeActivity2.start(v.getContext());
            }
        });
    }
}
